home *** CD-ROM | disk | FTP | other *** search
/ MPEG Toolkit / MPEG Toolkit.iso / win / mpg2w11b / readme.txt
Encoding:
Text File  |  1997-01-01  |  9.0 KB  |  297 lines

  1. MPEG2PLY.EXE:
  2. Prologue:
  3.  
  4.  mpeg2play version 1.1b for 32-bit Microsoft Windows.  Ported 
  5.  to Windows via MS Visual C++ on July 16, 1994 by Sorin Papuc 
  6.  (sop@compcore.com) and Chad Fogg (cfogg@netcom.com)
  7.  
  8.  This archive contains only the files that differ from 
  9.  mpeg2play version 1.1b unix source distribution (mpeg2play_v1.1b.tar.gz).
  10.  MPEG2PLY.EXE is an executable. Some of the modes of mpeg2play Unix
  11.  were disabled for reasons of time or porting difficulty, however the
  12.  user is assured that all modes and features of the main Unix version
  13.  will eventually be implemented in the Windows version.  MPEG2PLY.EXE 
  14.  borrows most of the Windows-specific interface and code templates from 
  15.  MPEG2DEC.EXE.
  16.  
  17.  
  18.  1. Systems
  19.   - had to disable "if(base.infile!=0)" in mpeg2ply.c since Windows
  20.     numbers its files (returned by int open()) independent of threads.
  21.     Also, a statement initializing sysstream to 0 was added.
  22.  
  23.  2. Features
  24.   - frame rate control, loop play, scalability, and fast dither modes not 
  25.     yet implemented due to time or implementation constraints.  This 
  26.     will change fairly soon.  The player is a little slower since we use 
  27.     only the display routines from MPEG2DEC.EXE currently.
  28.  
  29. MPEG2ENC.EXE:
  30.   - this is an experimental Windows version of mpeg2enc.  It requires
  31.     use of the script file *.par, like the MS-DOS and Unix versions.  It is
  32.     still recommended that you use the MS-DOS version (MPEG2D11.ZIP)
  33.     since Windows offers no advantage due to the fact that no display
  34.     integration has been made yet.  
  35.  
  36. ---------
  37.             MPEG Software Simulation Group codecs
  38.                  for Windows 32s 
  39.                (MPEG-L@netcom.com)
  40.  
  41. MPEG2DEC.EXE and MPEG2ENC.EXE are Windows 32s ports with integrated
  42. display functions of the MPEG Software Simulation Group's programs. 
  43.  
  44. MPEG2PLY.EXE is the port of mpeg2play---Stefan Eckart's variation of
  45. mpeg2decode which optimizes speed through fast decoding methods such as
  46. approximation techniques, loop unravelling, et al.
  47.  
  48. All Win32s programs were ported with Microsoft Visual C++.  Only the
  49. main() program and display files (mpeg2dec.c, mpeg2enc.c, or mpeg2ply.c) 
  50. differ from the standard "Unix distribution."
  51.  
  52. If you do not have a 32-bit Windows environment (e.g. Win 4.0 Chicago,
  53. Windows NT), but plain old Windows 16 (e.g. Windows 3.1), yet you do
  54. possess either a 386, 486, or Pentium-based PC, you can download the
  55. Microsoft 32-bit extension program, "Win32s" from the Microsoft FTP
  56. site:
  57.  
  58.   site:       ftp.microsoft.com  [198.105.231.1]
  59.   directory:  developers/DEVTOOLS/Win32SDK/
  60.   filename:   Win32s115a.zip     (this is the latest edition--June 23, 1994)
  61.  
  62. Win32s archive (mpeg2w11.zip):      
  63.  
  64.  mpeg2dec:   
  65.    mpeg2dec.c             Main() routine.  Initiates application and display.
  66.    mpeg2dec.r             MS Visual C++ resource file.
  67.    makefile               MS Visual C++ project file.
  68.    gui.h                  #include constants for MS GUI values.
  69.    mpeg2dec.exe           Speed-optimized executable
  70.    grayleo.ico            mpeg2dec.exe 32x32 4-bit System Palette icon
  71.  
  72.  
  73. About the windows icon:
  74. The 32x32 4-bit icon for MPEG2DEC.EXE and MPEG2ENC.EXE is a silhouette
  75. of Dr. Leonardo Chiariglione (CSELT, Italy), none other than our
  76. co-founder and exhaulted lifetime Convenor of MPEG.
  77.  
  78. Acknowledgement:
  79. Many thanks to Sorin Papuc (sop@compcore.com) for porting these programs
  80. to Windows 32s.
  81.                  mpeg2play
  82.                  =========
  83.  
  84.              Version 1.1b, July 13, 1994
  85.  
  86.        (C) Stefan Eckart, stefan@lis.e-technik.tu-muenchen.de
  87.  
  88.  
  89.  
  90.  
  91.  
  92.   mpeg2play is based on mpeg2decode, (C) 1994, MPEG Software Simulation Group
  93.  
  94.  
  95.  
  96. Features
  97. ========
  98.  
  99. - plays MPEG-1 and MPEG-2 video bitstreams on 8 bit color X displays
  100. - plays system layer (MPEG-1 only) streams, audio being ignored
  101. - high quality ordered dither algorithm
  102. - high speed interlaced to progressive scan conversion
  103. - speed is about 90% of Berkeley's mpeg_play (somewhat platform and
  104.   stream dependent)
  105. - NCSA Mosaic compatible (as external viewer for video/mpeg)
  106.  
  107.  
  108. Introduction
  109. ============
  110.  
  111. mpeg2play is a player for MPEG-1 and MPEG-2 video bitstreams. It is based on
  112. mpeg2decode by the MPEG Software Simulation Group. In mpeg2decode the
  113. emphasis is on correct implementation of the MPEG standard and comprehensive
  114. code structure. The latter is not always easy to combine with high execution
  115. speed. Therefore a version has been derived which is optimized for higher
  116. decoding and display speed at the cost of a less straightforward
  117. implementation and slightly non-compliant decoding. In addition all
  118. conformance checks and some fault recovery procedures have been omitted from
  119. mpeg2play.
  120.  
  121.  
  122. Availability
  123. ============
  124.  
  125. The most recent versions of mpeg2play and of the MPEG Software Simulation
  126. Group codec software are available by anonymous ftp from:
  127.  
  128.   ftp.netcom.com:/pub/cfogg/mpeg2
  129.  
  130. The Internet address of ftp.netcom.com is [192.100.81.1].
  131.  
  132.  
  133. Installation
  134. ============
  135.  
  136. Please report problems, bugs, suggestions etc. to
  137.  
  138.   stefan@lis.e-technik.tu-muenchen.de
  139.  
  140. I'm also interested in speed comparisons with mpeg_play on platforms
  141. other than Sparc (preferably based on 'well-known' bitstreams).
  142.  
  143.  
  144. Step 1: edit Makefile
  145. ---------------------
  146.  
  147. You may have to set CC to your C compiler and CFLAGS to the flags required
  148. by the compiler. Follow the instructions in the Makefile regarding the
  149. correct setting of the other variables (USE_SHMEM, LIBS, INCLUDEDIR and
  150. LIBRARYDIR).
  151.  
  152. Use of shared memory (USE_SHMEM) requires SYSV shared memory support and
  153. an X server implementing the MIT-SHM extensions. It results in a
  154. considerable speed increase if server and client run on the same machine.
  155.  
  156. If you use a C compiler which doesn't understand ANSI-C function prototypes
  157. add -DNON_ANSI_COMPILER to CFLAGS.
  158.  
  159. Note that decoding speed depends on the compiler. Here are some results on
  160. a SPARCstation 10 (single CPU) for a particular MPEG-2 sequence:
  161.  
  162.   compiler        user time
  163.   ---------------------------
  164.   cc  -O3         98.1 sec
  165.   gcc -O2 (2.5.8) 90.4 sec
  166.   acc -fast       83.2 sec
  167.  
  168.  
  169. Step 2: make
  170. ------------
  171.  
  172. Type 'make'.
  173.  
  174.  
  175. Usage
  176. =====
  177.  
  178. mpeg2play {options} input.m2v {upper.m2v}
  179.  
  180. Options:
  181.  
  182. -vn  verbose output (n: level)
  183.  
  184. Instructs mpeg2play to generate informative output about the sequence
  185. to stdout. Increasing level (-v1, -v2, etc.) results in more detailed
  186. output.
  187.  
  188. -on  output format (0: X11, 1: none)
  189.  
  190. -o1 is sometimes useful for benchmarking.
  191.  
  192. X11: display decoded video on an X Window System server. The current version
  193.      supports only 8 bit color display. You can use the DISPLAY environment
  194.      variable to select a (non-default) display. The output routines perform
  195.      8 bit dithering and interlaced to progressive scan conversion.
  196.  
  197.  
  198. -l  loop sequence
  199.  
  200. Setting this flag results in repeated display of the sequence.
  201.  
  202.  
  203. -s infile  spatial scalable sequence
  204.  
  205. Spatial scalable video is decoded in two passes. The -s option specifies
  206. the names of the output files from the first (lower layer) pass to the
  207. second (enhancement layer) pass. 'infile' describes the name format of the
  208. lower layer pictures for spatial scalable sequences as a printf format
  209. string. It has to contain exactly one integer format descriptor (e.g. %d,
  210. %02d) and, a %c descriptor. The %d descriptor has to be before the %c.
  211.  
  212. -q
  213.  
  214. Set this switch to suppress output of warnings to stderr. Usually a bad idea.
  215.  
  216. -fn
  217.  
  218. Set frame rate to n frames / sec. Otherwise the sequence is played at maximum
  219. speed.
  220.  
  221. input.m2v
  222.  
  223. name of the file containing the MPEG stream. '-' denotes reading the stream
  224. from stdin.
  225.  
  226. upper.m2v
  227.  
  228. is the name of the upper layer bitstream of an SNR scalable stream or a
  229. data partioning scalable bitstream (input.m2v is the lower layer).
  230.  
  231.  
  232. Examples
  233. ========
  234.  
  235. non-scalable stream (one layer, one pass):
  236.  
  237.     mpeg2play base.m2v
  238.  
  239. SNR-scalable stream (two layers, one pass):
  240.  
  241.     mpeg2play base.m2v snr.m2v
  242.  
  243. spatial-scalable stream (two layers, two passes):
  244.  
  245.     mpeg2decode base.m2v l%d%c
  246.     mpeg2play -s l%d%c spatial.m2v
  247.  
  248. hybrid spatial/SNR-scalable stream (three layers, two passes):
  249.  
  250.     mpeg2decode base.m2v l%d%c
  251.     mpeg2play -s l%d%c spatial.m2v snr.m2v
  252.  
  253. hybrid SNR/spatial-scalable stream (three layers, two passes):
  254.  
  255.     mpeg2decode base.m2v snr.m2v l%d%c
  256.     mpeg2play -s l%d%c spatial.m2v
  257.  
  258. etc.
  259.  
  260.  
  261. Use with Mosaic
  262. ===============
  263.  
  264. mpeg2play can be used as an 'external viewer' in conjunction with the
  265. WWW (World Wide Web) browser NCSA Mosaic:
  266.  
  267. - add the directory containing mpeg2play to your PATH environment variable
  268. - make sure you have a file .mailcap in your home directory containing the
  269.   line:
  270.  
  271. video/mpeg; mpeg2play %s
  272.  
  273.   (or rename mpeg2play to mpeg_play)
  274.  
  275. It is usually not required to add the MPEG-2 file suffix .m2v to the
  276. mime-types file (if the HTTP server supplies the correct Content-Type: header).
  277.  
  278. If you want to set up a HTTP daemon to serve MPEG-2 files, you have to add
  279. 'AddType .m2v video/mpeg binary 1.0' to the server configuration file (at
  280. least for CERN httpd 3.0).
  281.  
  282.  
  283. Acknowledgements
  284. ================
  285.  
  286. Thanks to Dave Wecker for providing the frame rate control routines. I
  287. have made some modifications, so it's me to blame if it doesn't work as
  288. expected.
  289.  
  290. --
  291. Stefan Eckart
  292. Fraunhofer-Institut fuer Festkoerpertechnologie (IFT-ST)
  293. Hansastr. 27D
  294. D-80686 Muenchen, Germany.
  295.  
  296. E-mail: stefan@lis.e-technik.tu-muenchen.de
  297.